package com.cqhilink.iot.jobstandardmanagement.facade.service.permission;

import com.cqhilink.iot.jobstandardmanagement.facade.model.AccountRole;
import com.cqhilink.iot.jobstandardmanagement.facade.model.Employee;
import com.cqhilink.iot.jobstandardmanagement.facade.model.EmployeeVo;

import java.util.List;

/**
 * Created by huangxueqian on 2017/1/6/006.
 * 账号角色关系
 */
public interface JsmAccountRoleService {

    /**
     * @param employeeVo 当前用户信息
     * @param systemCode 系统编码
     * @return
     */
    public List<AccountRole> getRolesByAccount(String systemCode, EmployeeVo employeeVo) throws Exception;

    /**
     * @param employee 当前用户信息    ；
     * 根据情况控制当前人员是否为管理员   ；
     */
    public List<AccountRole> getRolesByAccount(Employee employee) throws Exception ;


    /**
     * 角色人员绑定
     *
     * @param roleId      角色ID
     * @param accountList 账号id集合
     * @return
     * @throws Exception
     */
    public Integer accountRoleAdd(String roleId, List<String> accountList) throws Exception;

    /**
     * 角色人员取消绑定
     *
     * @param roleId      角色ID
     * @param accountList 账号id集合
     * @return
     * @throws Exception
     */
    public Integer accountRoleDel(String roleId, List<String> accountList) throws Exception;

    /**
     * @param list
     * @Author 卢曼成
     * @Description 批量添加
     * @Date 2017/2/8 17:17
     */
    int insertList(List<AccountRole> list);
    /**
     * @param list
     * @Author 卢曼成
     * @Description 批量修改
     * @Date 2017/2/8 17:17
     */
    int updateList(List<AccountRole> list);

    /**
     * @param list
     * @Author 卢曼成
     * @Description 批量逻辑删除
     * @Date 2017/2/8 17:17
     */
    int deleteList(List<AccountRole> list);

    /**
     * @param list
     * @Author 卢曼成
     * @Description 根据条件查询ID集合
     * @Date 2017/2/8 17:17
     */
    List<String> selectByListId(List<AccountRole> list);


}
